Ext.ns("liang.mgr");

liang.mgr.UserPanel = Ext.extend(Ext.grid.GridPanel, {
			submitWindow : null,
			constructor : function(cfg) {
				cfg = cfg || {};
				Ext.apply(this, cfg);
				liang.mgr.UserPanel.superclass.constructor.call(this, {
							closeAction : 'hide',
							layout : "fit",
							autoScroll : true,
							// autoLoad : {
							// url : _href,
							// scripts : true //使用页面中的javaScript起作用
							// },
							// 是否有关闭按钮
							closable : true,
							tbar : [{
										scope : this,
										text : '新增帐号',
										handler : this.addUser
									}, '-', {
										scope : this,
										text : '修改帐号',
										handler : this.updateUser
									}, '-', '->', '过滤器:',
									new Ext.form.ComboBox({
												width : 50
											}), '过滤值：',
									new Ext.form.TextField({
												width : 100
											}), '-', {
										text : '过滤'
									}]
						});

			},
			initComponent : function() {
				var _store = new Ext.data.JsonStore({
							url : this.url,
							root : 'users',
							fields : ['id', 'name', 'password'],
							autoLoad : true
						});
				this.store = _store;
				this.columns = [{
							header : '序号',
							dataIndex : 'id'
						}, {
							header : "帐号",
							dataIndex : "name"
						}, {
							header : "密码",
							dataIndex : "password"
						}];
				liang.mgr.UserPanel.superclass.initComponent.call(this);
			},
			getUserFormPanel : function() {
				var _fieldSet = new Ext.form.FieldSet({
							title : '用户信息',
							defaultType : 'textfield',
							anchor : "99%",
							items : [{
										xtype : 'hidden',
										name : 'dataModel.user.id'
									}, {
										xtype : 'textfield',
										name : 'dataModel.user.name',
										allowBlank : false,
										blankText : '帐号不为空',
										fieldLabel : '帐号',
										emptyText : '输入帐号',
										anchor : "100%"
									}, {
										xtype : 'textfield',
										inputType : 'password',
										name : 'dataModel.user.password',
										allowBlank : false,
										blankText : '密码不为空',
										fieldLabel : '密码',
										anchor : "100%"
									}]
						});
				var _fromPanel = new Ext.form.FormPanel({
							// frame : true,
							style : 'padding: 10px',
							labelWidth : 50,
							labelAlign : "left",
							buttonAlign : 'center',
							layout : "form",
							baseCls : 'x-plain',
							items : _fieldSet
						});
				return _fromPanel;
			},
			initSubmitWindow : function() {
				this.submitWindow = new liang.mgr.SubmitWindow({
							scope : this,
							parentCt : this,
							width : 300,
							height : 200,
							newFormPanel : this.getUserFormPanel(),
							success : this.success
						});
			},
			addUser : function() {
				if (!this.submitWindow) {
					this.initSubmitWindow();
				}
				this.submitWindow.setUrl("mgr/userAction!save.action");
				this.setTitle('新增用户');
				this.submitWindow.doLayout(true);
				this.submitWindow.show();
			},
			updateUser : function() {
				if (!this.submitWindow) {
					this.initSubmitWindow();
				}
				this.submitWindow.setUrl("mgr/userAction!update.action");
				this.submitWindow.doLayout(true);
				this.submitWindow.show();
			},
			deleteUser : function() {
			},
			success : function(form, action) {
				// 获得要操作的Panal
				
				var submitWindow = action.options.scope;
				
				console.dir(action.options);

				// 动态新增数据
				var _gridStore = submitWindow.parentCt.getStore();
				var _record = action.result.result;
				var _userRecord = new Ext.data.Record({
							id : _record.id,
							name : _record.name,
							password : _record.password
						});
				_gridStore.add(_userRecord);

				submitWindow.parentCt.doLayout();
				form.reset();
				submitWindow.hide();
			}
		});
